<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head th:replace="_fragments :: head(~{::title})">
    <title>博客详情页</title>
</head>
<body>
    <!-- 导航 -->
    <nav th:replace="_fragments :: menu(1)" class="ui inverted attached segment m-padd-tb-mini m-shadow-small"/>

    <!-- 中间内容 -->
    <div id="waypoint" class="m-container-small m-padded-tb-big animated fadeIn">
        <div class="ui container">
            <div class="ui top attached segment">
                <!-- 头部 -->
                <div class="ui horizontal link list">
                    <div class="item">
                        <img th:src="@{${blog.user.avatar}}" style="height: 40px;width: 40px" alt="" class="ui avatar image">
                        <div class="content">
                            <div class="header" th:text="${blog.user.nickname}"/>
                        </div>
                    </div>
                    <div class="item">
                        <i class="calendar alternate outline icon"></i> <span th:text="${#dates.format(blog.updateTime, 'yyyy-MM-dd')}"/>
                    </div>
                    <div class="item">
                        <i class="eye icon"></i><span th:text="${blog.views}"/>
                    </div>
                </div>
            </div>
            <div class="ui attached segment">
                <!-- 图片区域 -->
                <img th:src="@{${blog.firstPicture}}" alt="" class="ui fluid rounded image">
            </div>
            <div class="ui attached padded segment">
                <!-- 内容 -->
                <div class="ui right aligned basic segment">
                    <div class="ui orange basic label" th:text="${blog.flag}"/>
                </div>
                <h1 class="ui center aligned header" th:text="${blog.title}"/>
                <br>

                <!-- 文章主要内容 -->
                <div id="content" class="typo typo-selection js-toc-content  m-padded-lr-responsive m-padded-tb-large" th:utext="${blog.content}"/>

                <!-- 标签 -->
                <div class="m-padded-lr-responsive m-padded-tb-large">
                    <div class="ui basic teal left pointing label" th:each="tag : ${blog.tags}" th:text="${tag.name}"/>
                </div>

                <!-- 赞赏 -->
                <div th:if="${blog.appreciation}">
                    <div class="ui center aligned basic segment">
                        <button id="payButton" class="ui orange basic circular button">打赏</button>
                    </div>
                    <div class="ui payQR flowing popup transition hidden">
                        <div class="ui orange basic label">
                            <div class="ui images" style="font-size: inherit !important;">
                                <div class="image">
                                    <img th:src="@{/images/wxzf.png}" alt="" class="ui rounded bordered image" style="width:120px">
                                    <div>微信</div>
                                </div>
                                <div class="image">
                                    <img th:src="@{/images/zfb.jpg}" alt="" class="ui rounded bordered image" style="width:120px">
                                    <div>支付宝</div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="ui attached positive message" th:if="${blog.shareStatement}">
                <!-- 博客信息 -->
                <div class="ui middle aligned grid">
                    <div class="eleven wide column">
                        <ui class="list">
                            <li>作者：<span th:text="${blog.user.nickname}"/><a th:href="@{/about}" target="_blank">(联系作者)</a></li>
                            <li>发表时间：<span th:text="${#dates.format(blog.createTime, 'yyyy-MM-dd HH:mm')}"/></li>
                            <li>版权声明：自由转载-非商用-非衍生-保持署名</li>
                            <li>转载：请在文章末添加作者文章链接</li>
                        </ui>
                    </div>
                    <div class="five wide column">
                        <img th:src="@{/images/wx.jpg}" alt="" class="ui right floated rounded bordered image" style="width:110px">
                    </div>
                </div>
            </div>
            <div class="ui bottom attached segment" th:if="${blog.commentabled}">
                <!-- 留言区域列表 -->
                <div id="comment-container" class="ui teal segment">
                    <div th:fragment="commentList">
                        <div class="ui comments" style="max-width: 100%;">
                            <h3 class="ui dividing header">评论</h3>
                            <div class="comment" th:each="comment : ${comments}">
                                <a class="avatar">
                                    <img th:src="@{${comment.avatar}}">
                                </a>
                                <div class="content">
                                    <a class="author">
                                        <span th:text="${comment.nickname}"/>
                                        <div class="ui mini basic teal left pointing label m-padded-mini" th:if="${comment.adminComment}">博主</div>
                                    </a>
                                    <div class="metadata">
                                        <span class="date" th:text="${#dates.format(comment.createTime, 'yyyy-MM-dd HH:mm')}"/>
                                    </div>
                                    <div class="text" th:text="${comment.content}"/>
                                    <div class="actions">
                                        <a class="reply" th:attr="data-commentid=${comment.id}, data-commentnickname=${comment.nickname}" onclick="reply(this)">回复</a>
                                    </div>
                                </div>
                                <div class="comments" th:if="${#arrays.length(comment.replyComments)} > 0">
                                    <div class="comment" th:each="reply : ${comment.replyComments}">
                                        <a class="avatar">
                                            <img th:src="@{${reply.avatar}}">
                                        </a>
                                        <div class="content">
                                            <a class="author">
                                                <span th:text="${reply.nickname}"/>
                                                <div class="ui mini basic teal left pointing label m-padded-mini" th:if="${reply.adminComment}">博主</div>
                                                <span th:text="| @ ${reply.parentComment.nickname}|" class="m-teal"/>
                                            </a>
                                            <div class="metadata">
                                                <span class="date" th:text="${#dates.format(reply.createTime, 'yyyy-MM-dd HH:mm')}"/>
                                            </div>
                                            <div class="text" th:text="${reply.content}"/>
                                            <div class="actions">
                                                <a class="reply" th:attr="data-commentid=${reply.id}, data-commentnickname=${reply.nickname}" onclick="reply(this)">回复</a>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div id="comment-form" class="ui form">
                    <input type="hidden" name="blog.id" th:value="${blog.id}">
                    <input type="hidden" name="parentComment.id" value="-1">
                    <div class="field">
                        <textarea name="content" placeholder="请输入评论信息..."></textarea>
                    </div>
                    <div class="fields">
                        <div class="field m-mobile-wide m-margin-bottom-small">
                            <div class="ui left icon input">
                                <i class="user icon"></i>
                                <input type="text" name="nickname" placeholder="姓名" th:value="${session.user} != null ? ${session.user.nickname}">
                            </div>
                        </div>
                        <div class="field m-mobile-wide m-margin-bottom-small">
                            <div class="ui left icon input">
                                <i class="mail icon"></i>
                                <input type="text" name="email" placeholder="邮箱" th:value="${session.user} != null ? ${session.user.email}">
                            </div>
                        </div>
                        <div class="field m-mobile-wide m-margin-bottom-small">
                            <button id="commentpost-btn" type="button" class="ui teal button m-mobile-wide">
                                <i class="edit icon"></i>
                                发布
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div id="toolbar" class="m-padded m-fixed m-right-bottom" style="display: none;">
        <div class="ui vertical icon buttons">
            <button type="button" class="ui toc teal button">目录</button>
            <a href="#comment-container" class="ui teal button">留言</a>
            <button type="button" class="ui wechat icon button"><i class="wechat icon"></i></button>
            <div id="toTop-button" class="ui icon button"><i class="chevron up icon"></i></div>
        </div>
    </div>

    <div class="ui toc-container flowing popup transition hidden" style="width: 250px !important;">
        <ol class="js-toc">

        </ol>
    </div>

    <!-- 底部footer -->
    <footer th:replace="_fragments :: footer" class="ui inverted vertical segment m-padded-tb-massive"/>

    <div id="qrcode" class="ui wechat-qr flowing popup transition hidden" style="width: 130px !important;"/>

    <!--/*/<th:block th:replace="_fragments :: script">/*/-->
        <script src="https://cdn.jsdelivr.net/npm/jquery@3.2/dist/jquery.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>
        <script src="//cdn.jsdelivr.net/npm/jquery.scrollto@2.1.2/jquery.scrollTo.min.js"></script>
        <script src="/lib/prism/prism.js"></script>
        <script src="/lib/tocbot/tocbot.min.js"></script>
        <script src="/lib/qrcode/qrcode.min.js"></script>
        <script src="/lib/waypoints/jquery.waypoints.min.js"></script>
        <script type="text/javascript" color="0,0,205" opacity='0.7' zIndex="-2" count="99"
                    src="//cdn.bootcss.com/canvas-nest.js/1.0.1/canvas-nest.min.js"></script>
    <!--/*/</th:block>/*/-->

    <script th:inline="javascript">
        $('.menu.toggle').click(function () {
           $('.m-item').toggleClass('m-mobile-hide');
        });

        $('#payButton').popup({
            popup : $('.payQR.popup'),
            on : 'hover',
            position : 'bottom center'
        });

        tocbot.init({
            // Where to render the table of contents.
            tocSelector: '.js-toc',
            // Where to grab the headings to build the table of contents.
            contentSelector: '.js-toc-content',
            // Which headings to grab inside of the contentSelector element.
            headingSelector: 'h1, h2, h3',
            // For headings inside relative or absolute positioned containers within content.
            hasInnerContainers: true,
        });
        $('.toc.button').popup({
            popup : $('.toc-container.popup'),
            on : 'click',
            position : 'left center'
        });

        $('.wechat').popup({
            popup : $('.wechat-qr.popup'),
            on : 'hover',
            position : 'left center'
        });

        var serurl = /*[[#{blog.serurl}]]*/"localhost:8081";
        var url = /*[[@{blog/{id}(id=${blog.id})}]]*/"";
        var qrcode = new QRCode("qrcode", {
            text: serurl + url,
            width: 110,
            height: 110,
            colorDark : "#000000",
            colorLight : "#ffffff",
            correctLevel : QRCode.CorrectLevel.H
        });

        $('#toTop-button').click(function () {
            $(window).scrollTo(0,500);
        });

        var waypoint = new Waypoint({
            element: document.getElementById('waypoint'),
            handler: function(direction) {
                if (direction === 'down') {
                    $('#toolbar').show(500);
                } else {
                    $('#toolbar').hide(500);
                }
            }
        });

        //评论表单验证
        $('.ui.form').form({
            fields: {
                title: {
                    identifier: 'content',
                    rules: [{
                        type: 'empty',
                        prompt: '请输入评论内容'
                    }
                    ]
                },
                content: {
                    identifier: 'nickname',
                    rules: [{
                        type: 'empty',
                        prompt: '请输入名称'
                    }]
                },
                type: {
                    identifier: 'email',
                    rules: [{
                        type: 'email',
                        prompt: '请填写正确的邮箱地址'
                    }]
                }
            }
        });

        $(function () {
            $("#comment-container").load(/*[[@{/comments/{id}(id=${blog.id})}]]*/"");
        });

        $('#commentpost-btn').click(function () {
            var boo = $('.ui.form').form('validate form');
            if (boo) {
                console.log("校验成功");
                postData();
            } else {
                console.log("校验失败");
            }
        });

        function postData() {
            $("#comment-container").load(/*[[@{/comments}]]*/"", {
                "parentComment.id" : $("[name='parentComment.id']").val(),
                "blog.id" : $("[name='blog.id']").val(),
                "nickname" : $("[name='nickname']").val(),
                "email" : $("[name='email']").val(),
                "content" : $("[name='content']").val()
            }, function (responseTxt, statusTxt, xhr) {
                clearContent();
            });
        };

        function clearContent() {
            $("[name='content']").val('');
            $("[name='parentComment.id']").val(-1);
            $("[name='content']").attr("placeholder", "请输入评论信息...");
        };

        function reply(obj) {
            var commentId = $(obj).data('commentid');
            var commentNickname = $(obj).data('commentnickname');
            $("[name='content']").attr("placeholder", "@" + commentNickname).focus();
            $("[name='parentComment.id']").val(commentId);
            $(window).scrollTo($('#comment-form'), 500);
        }
    </script>
</body>
</html>